package com.techsoul.module.basic.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.techsoul.common.core.pojo.vo.UserVo;
import com.techsoul.module.basic.pojo.entity.HrEmployeeManage;
import com.techsoul.module.basic.pojo.param.HrEmployeeManageSearchParam;
import com.techsoul.module.basic.pojo.vo.HrEmployeeManageVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 雇员管理Mapper接口
 * 
 * @author liuen
 * @date 2023-04-18
 */
public interface HrEmployeeManageMapper extends BaseMapper<HrEmployeeManage> {

    /**
     * 详情
     * @param id
     * @return
     */
    HrEmployeeManageVo findById(String id);
    List<HrEmployeeManageVo> findOperator(@Param("type") String type);

    List<HrEmployeeManageVo> findOperatorOrderByIds(@Param("ids") String ids);
    List<HrEmployeeManageVo> findOperatorThirtyLoad(@Param("type") String type);
    List<HrEmployeeManageVo> findOperatorSixtyLoad(@Param("type") String type);
    List<HrEmployeeManageVo> findOperatorFullLoad(@Param("type") String type);
    List<HrEmployeeManageVo> findOperatorOrderByWorkloadDesc(@Param("type") String type);
    HrEmployeeManageVo findByUserId(@Param("userId") String id);
    /**
     * 列表
     * @param params
     * @return
     */
    List<HrEmployeeManageVo> findAll(@Param("params") HrEmployeeManageSearchParam params);

    /**
     * 分页
     * @param page
     * @param params
     * @return
     */
    IPage<HrEmployeeManageVo> findAll(Page page, @Param("params") HrEmployeeManageSearchParam params);

}
